// pages/profile/index.ts
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userinfo: null
  },
  //选择头像
  onChooseAvatar(ev) {
    const { avatarUrl } = ev.detail
    wx.uploadFile({
      url: wx.http.baseURL + '/upload',//上传的地址
      filePath: avatarUrl,//上传文件的临时地址
      name: 'file',//文件的key file接口文档来写
      header: {
        //自己携带token
        Authorization: `Bearer ${getApp().token}`
      },
      formData: {
        type: 'avatar',//接口文档要求填写
      },
      success: async (res) => {
        //成功上传后的图片地址
        // console.log(res);
        const resData = JSON.parse(res.data)
        const avatar = resData.data.url //获取了在线头像地址

        //发送请求完成头像修改
        const avatarRes = await wx.http({
          url: '/userInfo',
          method: 'put',
          data: { avatar }
        })
        //给出成功的提示
        wx.utils.toast('修改头像成功')
        //实时更新 data中的用户头像 页面实时变化
        this.setData({
          //简写修改对象中某个属性写法
          'userinfo.avatar': avatar
        })
      }
    })
  },
  //修改昵称
  async onNickNameChange(ev) {
    const nickName = ev.detail
    if (!nickName) return wx.utils.toast('昵称不能为空')
    //发送接口
    const res = await wx.http({
      url: '/userInfo',
      method: 'put',
      data: { nickName }
    })
    wx.utils.toast('昵称修改成功')
    //实时显示修改昵称
    this.setData({
      //简写修改对象中某个属性写法
      'userinfo.nickName': nickName
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    //获取本地存储中的数据，设置到data中
    const userinfo = wx.getStorageSync('userinfo')
    this.setData({ userinfo })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})